import com.mysql.jdbc.jdbc2.optional.MysqlDataSource;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Scanner;

public class demo {
    public static void main(String[] args) throws SQLException {
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource)dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java112?useSSL=false&useUnicode=true&characterEncoding=UTF-8");
        ((MysqlDataSource)dataSource).setUser("root");
        ((MysqlDataSource)dataSource).setPassword("123456");
        Connection connection= dataSource.getConnection();
        // 完成上述操作之后，建立了一个datasorce的对象，然后与mysql数据库建立了连接
        String sql="insert into students values(22222,'小xiao')";
        // 预处理，检查sql语句是否有错误
        PreparedStatement preparedStatement= connection.prepareStatement(sql);
        int n=preparedStatement.executeUpdate();   //这里的n是指影响的行数
        System.out.println(n);
        // 执行完成，清理
        preparedStatement.close();
        connection.close();

    }










    public static void main01(String[] args) throws SQLException {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入你的学号：");
        int id=scanner.nextInt();
        System.out.println("请输入你的姓名：");
        String name=scanner.next();

        // 1. 建立一个datesorce
        DataSource dataSource=new MysqlDataSource();
        ((MysqlDataSource) dataSource).setUrl("jdbc:mysql://127.0.0.1:3306/java112?useSSL=false&useUnicode=true&characterEncoding=UTF-8");
        ((MysqlDataSource) dataSource).setUser("root");
        ((MysqlDataSource) dataSource).setPassword("123456");

        // 2. 建立连接
        Connection connection=dataSource.getConnection();

        // 3. 通信----3.1 建立sql ---- 3.2 把sql发给服务器
        //String sql="insert into students values(101,'张三')";
        //String sql="delete from students where id=101";

        String sql="insert into students values(?,?)";


        PreparedStatement statement= connection.prepareStatement(sql);
        statement.setInt(1,id);
        statement.setString(2,name);

        int n=statement.executeUpdate();   //这里的n是指影响的行数
        System.out.println(n);

        // 4. 关闭连接，释放资源 -- 顺序，先释放后创建的数据
        statement.close();
        connection.close();


    }
}
